MaxComputeSQL数学函数介绍 您所在的位置:网站首页 double 取模 MaxComputeSQL数学函数介绍

MaxComputeSQL数学函数介绍

2023-09-06 03:23| 来源: 网络整理| 查看: 265

命令格式

width_bucket(numeric , numeric , numeric , int )

命令说明

设定分组范围的最小值、最大值和分组个数,构建指定个数的大小相同的分组,返回指定字段值落入的分组编号。支持的数据类型为BIGINT、INT、FLOAT、DOUBLE、DECIMAL以及数据类型2.0的DECIMAL(precision,scale),详情请参见2.0数据类型版本。此函数为MaxCompute 2.0扩展函数。

参数说明

expr:必填。需要判断分组编号的字段。

min_value:必填。分组范围最小值。

max_value:必填。分组范围最大值,最大值必须比最小值大。

num_buckets:必填。分组个数,必须大于0。

返回值说明

返回值为BIGINT类型,范围为0到设定的分组个数+1。返回规则如下:

expr值小于min_value时,返回0。

expr大于max_value时,返回设定的分组个数+1。

expr值为NULL时,分组编号返回值也为NULL。其他情况返回字段值落入的分组编号。字段值对应的分组编号取值规则为floor( num_buckets * (expr - min_value)/(max_value - min_value) + 1)。

min_value、max_value或num_buckets值为NULL时,返回NULL。

示例

示例1:入参无NULL。命令示例如下。

select key,value,width_bucket(value,100,500,5) as value_group from values (1,99), (2,100), (3,199), (4,200), (5,499), (6,500), (7,501), (8,NULL) as t(key,value);

返回结果如下。

+-------+--------+-------------+ | key | value | value_group | +-------+--------+-------------+ | 1 | 99 | 0 | | 2 | 100 | 1 | | 3 | 199 | 2 | | 4 | 200 | 2 | | 5 | 499 | 5 | | 6 | 500 | 6 | | 7 | 501 | 6 | | 8 | \N | \N | +-------+--------+-------------+

示例2:入参存在NULL。命令示例如下。

select key,value,width_bucket(value,100,500,null) as value_group from values (1,99), (2,100), (3,199), (4,200), (5,499), (6,500), (7,501), (8,NULL) as t(key,value);

返回结果如下。

+------+-------+-------------+ | key | value | value_group | +------+-------+-------------+ | 1 | 99 | NULL | | 2 | 100 | NULL | | 3 | 199 | NULL | | 4 | 200 | NULL | | 5 | 499 | NULL | | 6 | 500 | NULL | | 7 | 501 | NULL | | 8 | NULL | NULL | +------+-------+-------------+


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有